const Subscription = require('egg').Subscription
let page = 1

class UpdateCache extends Subscription {
  // 通过 schedule 属性来设置定时任务的执行间隔等配置
  static get schedule() {
    return {
      interval: '100m', // 1 分钟间隔
      type: 'all', // 指定所有的 worker 都需要执行
      immediate: true
    };
  }

  // subscribe 是真正定时任务执行时被运行的函数
  async subscribe() {
    let payload = {
      'grant_type': 'client_credential',
      'appid': 'wx29829566936d519a',
      'secret': '20f1eda3a4d5de2b44e31dec32419873'
    }
    let url = 'https://api.weixin.qq.com/cgi-bin/token'
    const res = await this.ctx.curl(url, {
      method: 'GET',
      data: payload,
      dataType: 'json',
    });
    this.ctx.app.cache = res.data;
  }
}

module.exports = UpdateCache;
